项目分析:对于7种图书推荐算法的组合评测
可能的问题和分析
一:数据量有多大?
rating.csv:行为数据
user.csv:属性数据
-3列数据:用户ID,图书ID, 用户对图书的评分
-图书数: 1000个
-用户数: 200个
-记录数: 4000次的图书评分
-3列数据:用户ID,用户性别,用户年龄
–用户数: 200个
–用户性别: M为男性,F为女性
–用户年龄: 11-80岁之间
二:如何实现7种组合算法?
useCF:欧几里得相似度+最近邻居+user推荐器
useCF:对数似然+最近邻居+user推荐器
useCF:欧几里得相似度+最近邻居+布尔型user推荐器
itemCF:+item推荐器item推荐器
itemCF:对数似然++item推荐器
itemCF:+item推荐器+布尔型item推荐器
slopeone
基于用户的协同过滤算法:
–用户相似度距离+ 最近邻算法+ 推荐算法(有评分,无评分)
基于物品的协同过滤算法:
–用户相似度距离+ 推荐算法(有评分,无评分)
三:对于项目如何实现算法评估?
查准率:被检索到的,越相关的越多越好,丌相关的越少越好,越大越好。
召回率(查全率):被检索到的越多越好,越大越好。
四:算法的实现方式:单机还是分布式实时?
系统架构:Mahout中推荐过滤算法支持单机算法和分步式算法两种
注意本项目基于单机算法
因为:
1,数据很小,最大几G,在单机内存计算,支持多种算法推荐算法,
部署运行简单,但处理数据量有限。
2,hadoop只支持仅有的几种算法,不一定能满足本项目的7种组合算法
部署运行复杂,支持海量数据
五:具体步骤
(1)mvn archetype:generate
-DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.chennan.mymahout
-DartifactId=myMahout -DpackageName=org.chennan.mymahout
-Dversion=1.0-SNAPSHOT -DinteractiveMode=false
注意:在正式输入的时候不要留空格,我这里只是为了保持美感
(2)cd myMahout
(3)mvn clean install